// Promise是一种解决异步编程方案, 可以解决我们之前写Ajax请求时回调地狱的问题

// new一个promise实例
// 有两个参数, 分别是resolve和reject, resolve与reject又是两个回调函数, 可用.then与.catch接收
// resolve: 成功状态表示
// reject: 失败状态表示
const promise = new Promise((resolve, reject) => {
  setTimeout(() => {
    // 1.成功示例
    // let data = "我是后端返回的正常的数据";
    // resolve(data);

    // 2.失败示例
    let error = "我处理出问题啦";
    reject(error);
  }, 1000);
})

promise.then(
  // 成功的回调函数触发的地方
  (result) => {
    console.log(result);
  },
  // 可以不用.catch这里也可以接收到失败的reject, 但是不会帮你捕获异常, 还是会将错误(Error)抛出来
  (error) => {
    console.log(error);
  }
)
